﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PHI2
{
    public partial class Form2 : Form
    {
        private Base consulta2 = new Base();
        private PHIEntities2 phi2 = new PHIEntities2();
        public Form2()
        {
            InitializeComponent();
            this.Text = "Modificar Datos";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {

                int idvariedad = Convert.ToInt16(textVariedad.Text);
                int idensayo = Convert.ToInt16(textEnsayo.Text);
                int repeticion = Convert.ToInt16(textRepeticion.Text);

                if (consulta2.PermisoModificarMediciones(phi2, idvariedad, repeticion, idensayo) == true)
                {
                    try
                    {

                        if ((consulta2.PermisoModificarVariedades(phi2, idvariedad) == true) && (textDescripcion.Text != "") && (textNombreVariedad.Text != ""))
                        {
                            consulta2.AddMedicion(phi2, idvariedad, repeticion, idensayo, float.Parse(textFB.Text),
                      float.Parse(textTG.Text), float.Parse(textWG.Text), float.Parse(textDG.Text), float.Parse(textHA.Text),
                      float.Parse(textGlauco.Text), float.Parse(textAP.Text), float.Parse(textAT.Text), float.Parse(textLE.Text),
                      float.Parse(textPM.Text), float.Parse(textVl.Text), float.Parse(textAH1.Text), float.Parse(textLH1.Text),
                      float.Parse(textAH2.Text), float.Parse(textLH2.Text), float.Parse(textAH3.Text), float.Parse(textLH3.Text),
                      float.Parse(textMje.Text), float.Parse(textCobertura.Text));
                            consulta2.AddVariedad(phi2, idvariedad, textNombreVariedad.Text, textDescripcion.Text);
                            if (consulta2.PermisoModificarParcelas(phi2, idvariedad, repeticion) == true)
                            {
                                consulta2.AddParcela(phi2, idvariedad, repeticion, Convert.ToInt16(textParcela.Text));
                            }
                            MessageBox.Show("Datos Ingresados");
                        }
                        else if (((consulta2.PermisoModificarVariedades(phi2, idvariedad) == true) && ((textDescripcion.Text == "") || (textNombreVariedad.Text == ""))))
                        {
                            MessageBox.Show("Son necesarios los datos de variedad");
                        }
                        else
                        {
                            consulta2.AddMedicion(phi2, idvariedad, repeticion, idensayo, float.Parse(textFB.Text),
                                float.Parse(textTG.Text), float.Parse(textWG.Text), float.Parse(textDG.Text), float.Parse(textHA.Text),
                                float.Parse(textGlauco.Text), float.Parse(textAP.Text), float.Parse(textAT.Text), float.Parse(textLE.Text),
                                float.Parse(textPM.Text), float.Parse(textVl.Text), float.Parse(textAH1.Text), float.Parse(textLH1.Text),
                                float.Parse(textAH2.Text), float.Parse(textLH2.Text), float.Parse(textAH3.Text), float.Parse(textLH3.Text),
                                float.Parse(textMje.Text), float.Parse(textCobertura.Text));
                          if (consulta2.PermisoModificarParcelas(phi2, idvariedad, repeticion) == true)
                            {
                                consulta2.AddParcela(phi2, idvariedad, repeticion, Convert.ToInt16(textParcela.Text));
                            }
                          MessageBox.Show("Datos Ingresados");
                        }


                       
                    }

                    catch
                    {
                        MessageBox.Show("Ingrese datos en todas las casillas"); }
                }

                textFB.Clear(); textTG.Clear(); textWG.Clear(); textDG.Clear(); textHA.Clear(); textGlauco.Clear(); textAP.Clear();
                textAT.Clear(); textLE.Clear(); textPM.Clear(); textVl.Clear(); textAH1.Clear(); textLH1.Clear(); textAH2.Clear();
                textLH2.Clear(); textAH3.Clear(); textLH3.Clear(); textMje.Clear(); textCobertura.Clear(); textEnsayo.Clear();
                textVariedad.Clear(); textRepeticion.Clear(); textNombreVariedad.Clear(); textDescripcion.Clear(); textParcela.Clear();

            }
            catch { MessageBox.Show("Ingrese datos en todas las casillas"); }

            
        }


        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void label12_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            //Elimina datos
            try
            {
                int idvariedad = Convert.ToInt16(textVariedad.Text);
                int idensayo = Convert.ToInt16(textEnsayo.Text);
                int repeticion = Convert.ToInt16(textRepeticion.Text);
                bool entrar1 = false;
                bool entrar2 = false;

                var query = from i in phi2.Mediciones
                            where (i.IdVariedad == idvariedad)
                            && (i.IdEnsayo == idensayo)
                            && (i.Repeticion == repeticion)
                            select i;

                foreach (var a in query)
                {
                    entrar1 = true;
                }

                var query2 = from i in phi2.Mediciones
                            where (i.IdVariedad == idvariedad)
                            select i;

                if ((entrar1 == true) && (repeticion <= 2) && (idensayo <= 2)) // Si la combinacion de datos existe y es válida
                {
                    consulta2.DeleteMedicion(phi2, idvariedad, repeticion, idensayo);
                    consulta2.DeleteParcela(phi2, idvariedad, repeticion);
                    if (query2.Count() == 0) consulta2.DeleteVariedad(phi2, idvariedad); // Si la variedad no es la última en mediciones, por lo tanto, si se elimina, se elimina la variedad tambien 
                }

                else
                {
                    MessageBox.Show("No es posible eliminar datos. Puede que secuencia de datos no exista o no sea válida");
                }
                entrar1 = false;
            }
            catch 
            {
                MessageBox.Show("Ingrese Datos");
            }
            textVariedad.Clear(); textEnsayo.Clear(); textRepeticion.Clear();
        }

        private void textParcela_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textFB.Focus();
            }
        }

        private void textFB_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textTG.Focus();
            }
        }

        private void textTG_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textWG.Focus();
            }
        }

        private void textWG_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textDG.Focus();
            }

        }

        private void textDG_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textHA.Focus();
            }
        }

        private void textHA_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textGlauco.Focus();
            }
        }

        private void textGlauco_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textAP.Focus();
            }

        }

        private void textAP_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textAT.Focus();
            }
        }

        private void textAT_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textLE.Focus();
            }
        }

        private void textLE_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textPM.Focus();
            }
        }

        private void textPM_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textVl.Focus();
            }
        }

        private void textVl_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textAH1.Focus();
            }
        }

        private void textAH1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textLH1.Focus();
            }
        }

        private void textLH1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textAH2.Focus();
            }
        }

        private void textAH2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textLH2.Focus();
            }
        }

        private void textLH2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textAH3.Focus();
            }
        }

        private void textAH3_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textLH3.Focus();
            }

        }

        private void textLH3_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textMje.Focus();
            }
        }

        private void textMje_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textCobertura.Focus();
            }
        }

        private void textCobertura_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textVariedad.Focus();
            }
        }

        private void textVariedad_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textEnsayo.Focus();
            }
        }

        private void textEnsayo_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textRepeticion.Focus();
            }
        }

        private void textRepeticion_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textParcela.Focus();
            }
        }

        private void textNombreVariedad_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                textDescripcion.Focus();
            }

        }

        private void textDescripcion_KeyDown(object sender, KeyEventArgs e)
        {

        }

      
     

     



        }

    

    }
